import java.util.ArrayList;

import Utils.ListUtil;
import Utils.RETool;

public class Time {
	// 抽取时间
	public static ArrayList<String> extractTime(String string) {
		ArrayList<String> result = new ArrayList<String>();
		ArrayList<String> expressions = new ArrayList<String>();
		String number = "[\\d|" + RETool.ZH_NUMBER + "]+";

		expressions.add("[\\d]{4}-[\\d]{1,2}-[\\d]{1,2}");// 2000-01-01;2000-1-1
		expressions.add("[\\d]{1,2}[:：][\\d]{1,2}[:：][\\d]{1,2}");// 10:10:10;10：10：10
		expressions.add("[\\d]{1,2}[:：][\\d]{1,2}");// 10:10;10：10
		expressions.add("[\\d]{4}年[\\d]{1,2}月[\\d]{1,2}[日]*");// 2000年01月01日；2000年1月1日
		expressions.add(number + "(年|周年|月|日|号|天|点)");// 10年；十年；10月；10日；20号；10天；10点
		expressions.add("[\\d]{1,2}月[\\d]{1,2}[日]*");// 10月10日;1月1日

		for (int i = 0; i < expressions.size(); i++) {
			ArrayList<String> tmp = RETool.extract(string, expressions.get(i));
			result = ListUtil.merge(result, tmp);
		}

		return result;
	}

	public static void main(String args[]) {
		// 测试时间内容
		// String
		// items[]={"五年了","三个月啊","5个月","3年","2012-01-01","2012-1-1","2012-11-11 11:22:33","2012-1-2 1:2:3","2012年11月11日","31号","276天"};
		// String string = "";
		// for (int i = 0; i < items.length; i++)
		// string += items[i] + "cdfbvf";
		// ArrayList<String> results = extractTime(string);
		// for (int i = 0; i < results.size(); i++)
		// System.out.println("[" + i + "]:" + results.get(i));
	}
}
